hmac 模块 和 hashlib 模块一样提供了常见的摘要算法,如 MD5,SHA1 等等。
hmac 模块默认就要进行加盐
hmac 模块没有hashlib 模块中的 update,所以不能进行多次 update
1. hmac.new(密钥, 需要加密的内容, digestmod='MD5')
- 密钥在这里可以理解为就是盐
- 密钥 和 需要加密的内容都必须是bytes类型
- digestmod -> 使用那种加密方式
import hmac
h = hmac.new('盐'.encode('utf-8'), b'123', digestmod='MD5') # 密钥 要加密的信息 加密方式
h_digest = h.digest() # 获取加密后的值,以二进制的形式返回,且是bytes类型
print(h_digest) # b':\xc7\x00\n\x1c&\x14c\xcc\xc1Nr)&H '
hig_digest = h.hexdigest() # 获取加密后的值,以十六进制的形式返回
print(hig_digest) # 3ac7000a1c261463ccc14e7229264820
2. hmac.compare_digest(md51, md52) -> 判断两个加密后的md5值是否一样
import hmac
import hashlib
h = hmac.new('盐'.encode('utf-8'), b'123', digestmod='MD5')
h_digest = h.digest()
hig_digest = h.hexdigest()
h1 = hmac.new('盐'.encode('utf-8'), b'123', digestmod='MD5')
h_digest1 = h1.digest()
hig_digest1 = h1.hexdigest()
is_same = hmac.compare_digest(hig_digest, hig_digest1) # 比较两个加密后的值是否一致
print(is_same) # true
← hashlib 加密模块 if 条件语句 →